/**
 * 用数组原生方法找出被删除的图片
 * @param {Array} imageList1 - 原始图片列表（基准）
 * @param {Array} imageList2 - 新图片列表
 * @param {string} uniqueKey - 唯一标识字段（默认 'src'）
 * @returns {Array} 被删除的图片
 */
export function findDeletedImagesWithArrayMethods(
  imageList1,
  imageList2,
  uniqueKey = "src"
) {
  // 处理非数组输入（避免报错）
  const list1 = Array.isArray(imageList1) ? imageList1 : [];
  const list2 = Array.isArray(imageList2) ? imageList2 : [];

  // 1. 用 filter 遍历原始列表
  return list1.filter((img1) => {
    // 忽略无效图片（非对象或无唯一标识）
    if (!img1 || img1[uniqueKey] === undefined) return false;

    // 2. 用 some 检查当前图片是否存在于新列表中
    const existsInList2 = list2.some((img2) => {
      // 新列表中的元素也需是有效图片
      if (!img2 || img2[uniqueKey] === undefined) return false;
      // 对比唯一标识（如 src）
      return img1[uniqueKey] === img2[uniqueKey];
    });

    // 3. 不存在于新列表 → 视为被删除
    return !existsInList2;
  });
}
